const expres = require('express')
const app = expres()
//导入router
const router = require('./Router/index')
//导入跨域的包
const cors = require('cors')
//导入解析token的包
const expressJWT = require('express-jwt')
//导入解析的密钥
const secret = require('./utlis/secret')

//注册解析数据的各种格式
app.use(expres.json())
app.use(expres.urlencoded({ extended: false }))
//注册跨域的包
app.use(cors())
//注册解析token的中间件  在api路径下不能使用
app.use(
  expressJWT.expressjwt({ secret: secret, algorithms: ["HS256"] }).unless({
    path: [/^\/api\//],
  })
);


//注册路由
app.use(router)

//注册错误级别的中间件
app.use((err, req, res, next) => {
  if (err.name === 'UnauthorizedError') {
    return res.send({
      status: 401,
      message: '无效token'
    })
  }
  res.send({
    status: 500,
    message: '未知错误'
  })
})


app.listen(80, () => {
  console.log('server  runing at http://127.0.0.01:80');
})